package com.zyh.scs.admin.api.dto;

import com.baomidou.mybatisplus.annotation.TableLogic;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.experimental.Accessors;
import org.hibernate.validator.constraints.Length;
import org.javers.core.metamodel.annotation.DiffInclude;
import org.javers.core.metamodel.annotation.PropertyName;

import java.io.Serializable;

/**
 * @author hwh
 * @ClassName: 充值记录 筛选字段查询dto$
 * @Description: $
 * @Date $
 * @Version 1.0
 */
@Data
@Schema(description = "充值记录 筛选字段查询dto")
@Accessors(chain = true)
public class RechargePageDTO implements Serializable {

    /**
     * 用户ID
     */
    @Schema(description = "用户ID")
    private Long userId;

    @Schema(description = "guid")
    private String guid;


    /**
     * 工号
     */
    @Schema(description = "工号")
    private String userJobNumber;

    /**
     * 手机号
     */
    @DiffInclude
    @PropertyName("手机号")
    @Schema(description = "手机号")
    @Length(min = 11, max = 11, message = "手机号必须为11位")
    private String phone;

    /**
     * 充值渠道
     */
    @Schema(description = "充值渠道")
    private String rechargeChannel;

    /**
     * 充值类型 1餐补账户、 2现金
     */
    @Schema(description = "充值类型1餐补账户、 2现金")
    private String rechargeType;

    /**
     * 充值时间前
     */
    @Schema(description = "充值时间前")
    private String beginTime;

    /**
     * 充值时间后
     */
    @Schema(description = "充值时间后")
    private String endTime;

    /**
     * 0-正常，1-删除
     */
    @TableLogic
    @Schema(description = "删除标记,1:已删除,0:正常")
    private String delFlag;

    /**
     * 订单号
     */
    @Schema(description = "订单号")
    private String orderId;

    /**
     * 第三方订单号
     */
    @Schema(description = "第三方订单号")
    private String outOrderNo;
}
